package cn.xiaopengstack.domain.activity.service.trialcal;

import cn.xiaopengstack.domain.activity.model.entity.*;
import cn.xiaopengstack.domain.activity.model.valobj.UserGroupBuyOrderVO;

import java.util.List;

/**
 * @author jiangyangang
 */
public interface IIndexGroupBuyMarketService {

    /**
     * 首页商品优惠试算
     * @param param
     * @return
     */
    TrialCalculateEntity trialCalculate(MarketProductEntity param) throws Exception;

    /**
     * 查询指定数量的拼团详情信息
     * 按拼团剩余时间从前到后排列
     * @param queryInProgressGroupBuyOrderEntity
     * @return
     */
    List<GroupBuyOrderDetailEntity> queryInProgressGroupOrderList(QueryInProgressGroupBuyOrderEntity queryInProgressGroupBuyOrderEntity);

    /**
     * 查询指定数量的拼团详情信息
     * 随机获取
     * @param queryInProgressGroupBuyOrderEntity
     * @return
     */
    List<GroupBuyOrderDetailEntity> queryInProgressGroupOrderListRandom(QueryInProgressGroupBuyOrderEntity queryInProgressGroupBuyOrderEntity);

    /**
     * 查询拼团队伍的统计数据
     * @param activityId
     * @param goodsId
     * @return
     */
    TeamStatisticEntity queryTeamStatistic(Long activityId, String goodsId);

    /**
     * 查询用户参与的拼团数量
     * @param userId
     * @return
     */
    List<UserGroupBuyOrderVO> queryUserGroupBuyList(String userId);
}
